package com.shensi.api.admin.domian.station.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.shensi.api.admin.domian.market.dto.OilDto;
import com.shensi.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.math.BigDecimal;
import java.util.Date;

public class StationOillGunDto extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 油枪id
     */
    private Long gunId;


    /**
     * 油枪名称
     */
    private String gunName;

    /**
     * 油枪价格
     */
    private BigDecimal oilStationPrice;
    /**
     * 发改委指导价
     */
    private BigDecimal oilOfficialPrice;
    /**
     * 结算价
     */
    private BigDecimal oilStationSettlementPrice;

    /**
     * 折扣价
     */
    private BigDecimal discountPrice;


    /**
     * 油品id
     */
    private Long oilId;
    /**
     * 油品名称
     */
    private String oilName;

    /**
     * 油品类型
     */
    private String oilClass;


    /**
     * 油品型号
     */
    private String oilType;


    /**
     * 油站id
     */
    private Long stationId;

    /**
     * 油站名称
     */
    private String stationName;

    /**
     * 部门名称
     */
    private String enterpriseName;

    /**
     * 油枪名称集合
     */
    private String gunNameList[];

    /**
     * 删除人
     */
    private Long deleteUser;
    /**
     * 删除时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date deleteDate;

    /**
     * 删除标志
     */
    private String deleteStatus;

    private OilDto oil;

    /**
     * 油企id
     */
    private Long enterpriseId;

    /**
     * 生效时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date effectDate;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updatedTime;

    private String updatePriceFlag;

    public String getUpdatePriceFlag() {
        return updatePriceFlag;
    }

    public void setUpdatePriceFlag(String updatePriceFlag) {
        this.updatePriceFlag = updatePriceFlag;
    }

    public Date getEffectDate() {
        return effectDate;
    }

    public void setEffectDate(Date effectDate) {
        this.effectDate = effectDate;
    }

    public Long getEnterpriseId() {
        return enterpriseId;
    }

    public void setEnterpriseId(Long enterpriseId) {
        this.enterpriseId = enterpriseId;
    }

    public BigDecimal getDiscountPrice() {
        return discountPrice;
    }

    public void setDiscountPrice(BigDecimal discountPrice) {
        this.discountPrice = discountPrice;
    }

    public Long getDeleteUser() {
        return deleteUser;
    }

    public void setDeleteUser(Long deleteUser) {
        this.deleteUser = deleteUser;
    }

    public Date getDeleteDate() {
        return deleteDate;
    }

    public void setDeleteDate(Date deleteDate) {
        this.deleteDate = deleteDate;
    }

    public String getDeleteStatus() {
        return deleteStatus;
    }

    public void setDeleteStatus(String deleteStatus) {
        this.deleteStatus = deleteStatus;
    }

    public String getOilName() {
        return oilName;
    }

    public void setOilName(String oilName) {
        this.oilName = oilName;
    }

    public String getOilClass() {
        return oilClass;
    }

    public void setOilClass(String oilClass) {
        this.oilClass = oilClass;
    }

    public String getOilType() {
        return oilType;
    }

    public void setOilType(String oilType) {
        this.oilType = oilType;
    }

    public String getStationName() {
        return stationName;
    }

    public void setStationName(String stationName) {
        this.stationName = stationName;
    }

    public String getEnterpriseName() {
        return enterpriseName;
    }

    public void setEnterpriseName(String enterpriseName) {
        this.enterpriseName = enterpriseName;
    }


    public BigDecimal getOilStationPrice() {
        return oilStationPrice;
    }

    public void setOilStationPrice(BigDecimal oilStationPrice) {
        this.oilStationPrice = oilStationPrice;
    }

    public BigDecimal getOilOfficialPrice() {
        return oilOfficialPrice;
    }

    public void setOilOfficialPrice(BigDecimal oilOfficialPrice) {
        this.oilOfficialPrice = oilOfficialPrice;
    }

    public String[] getGunNameList() {
        return gunNameList;
    }

    public void setGunNameList(String[] gunNameList) {
        this.gunNameList = gunNameList;
    }

    public Long getGunId() {
        return gunId;
    }

    public void setGunId(Long gunId) {
        this.gunId = gunId;
    }

    public String getGunName() {
        return gunName;
    }

    public void setGunName(String gunName) {
        this.gunName = gunName;
    }


    public Long getStationId() {
        return stationId;
    }

    public void setStationId(Long stationId) {
        this.stationId = stationId;
    }

    public Long getOilId() {
        return oilId;
    }

    public void setOilId(Long oilId) {
        this.oilId = oilId;
    }

    public BigDecimal getOilStationSettlementPrice() {
        return oilStationSettlementPrice;
    }

    public OilDto getOil() {
        return oil;
    }

    public void setOil(OilDto oil) {
        this.oil = oil;
    }

    public void setOilStationSettlementPrice(BigDecimal oilStationSettlementPrice) {
        this.oilStationSettlementPrice = oilStationSettlementPrice;
    }

    public Date getUpdatedTime() {
        return updatedTime;
    }

    public void setUpdatedTime(Date updatedTime) {
        this.updatedTime = updatedTime;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("gunId", getGunId())
                .append("gunName", getGunName())
                .append("oilPrice", getOilStationPrice())
                .append("oilStationSettlementPrice", getOilStationSettlementPrice())
                .append("oilId", getOilId())
                .append("stationId", getStationId())
                .append("createBy", getCreateBy())
                .append("createTime", getCreateTime())
                .append("updateBy", getUpdateBy())
                .append("updateTime", getUpdateTime())
                .toString();
    }


}
